When devices and applications attempt to communicate between each other securely, they usually must do so across unsecured and untrusted networks often while mobile. Because protocols used to communicate between devices have not kept pace with security and mobility management, a myriad of security and mobility systems, protocols, and devices have been invented that are often incompatible with each other. This has made establishing secure connections between devices difficult to implement—even for experts in the field. So the process of creating secure connections across the Internet is often difficult, inefficient, and expensive.